package com.wocai.jrt.admin.user.service.spi;

import com.vteba.service.generic.MyBatisService;
import com.wocai.jrt.admin.common.bean.Node;
import com.wocai.jrt.admin.user.model.Roles;
import com.wocai.jrt.admin.user.model.RolesBean;
import com.wocai.jrt.admin.user.model.User;

/**
 * 角色表相关的业务service接口。
 * @author yinlei
 * @date 2015-7-6 11:40:41
 */
public interface RolesService extends MyBatisService<Roles, RolesBean, String> {
	
	/**
	 * 保存角色，同时维护角色和权限之间的关联
	 * @param roles 待保存的角色
	 * @return 1是成功
	 */
	public int saveRoles(Roles roles);
	
	/**
	 * 更新角色，同时维护角色和权限之间的关联
	 * @param roles 待更新的角色
	 * @return 1成功，否则失败
	 */
	public int updateRoles(Roles roles);
	
	/**
	 * 删除角色，同时维护角色和权限之间的关联。
	 * @param roleId 角色id
	 * @return 1成功，否则失败
	 */
	public int deleteRoles(String roleId);
	
	/**
	 * 获取该用户的角色树
	 * @param user 查询条件
	 * @return 角色tree
	 */
	public Node getRoleTree(User user);
}
